
# 字典
"""
1. 概念 ： 是以键值对形式存放的数据类型的容器 ，此键值对在字典中时无须的 。
2. 定义 ：
    变量名 = {} or dict()
    变量名 = {key1:value1 , key2:value2,...}

3. 说明:
    （1）. 它可以存放任意的键值对，值也是任意的数据类型
    (2). 它也是可以变化对象，支持增删改查
"""

# 1.定义字典
dct1 = {}
dct2 = dict()
dct3 = {'a':1,'b':2}
print(dct1)
print(dct2)
print(dct3)

# 2. 通过key去获取字典中对应的值 ：dict[key] , 要求是必须key存在，否则就会报错。
print("获取健名a的值:",dct3['a'])
# print("获取健名c的值:",dct3['c'])   # 报错 ：KeyError

# 3. 通过key去修改值 ：dict[key] = new_value  ,这里的key也是存在的。
dct3['b'] = 100
print(dct3)

# 4. 通过key去新增 ：dict[key] = new_value  ,这里的key是不存在的
dct3['c'] = 'hello'
print(dct3)

# 5. 字典中的方法
"""
get(key)        : 获取字典中key对应的值
key in dict     : key是否在字典中
items()         : 以列表的形式返回(键,值)数据
keys()          : 返回所有的键名
values()        : 返回所有的值
pop(key)        : 删除对应的键值对
update(dict1)   : 将字典dict1的数据更新到当前字典中。
"""
print("=================================")
dct4 = {'python':1,'java':2,'javascript':3,'c':4,'go':5}
print("获取健名为go的值:",dct4.get('go'))      # 若健名不存在，则返回None

print("判断健名c是否存在在键中:",'c' in dct4)
print("判断健名php是否存在在键中:",'php' in dct4)

print(dct4.items())

for key,value in dct4.items():
    print(key,"===============",value)


for key in dct4.keys():
    print("key:",key)

for value in dct4.values():
    print("value:",value)

dct4.pop('c')
print(dct4)

dct4.update(dct3)
print(dct4)

dct5 = {None:'a',2:'d'}
print(dct5)
print(dct5.get(None))
